Avionics systems installed on aircraft commonly require static data to be stored, for example to indicate the location of a Line Replaceable Unit (LRU)—an LRU being a modular component of an aircraft that is designed to be replaced quickly at an operating location. A known method of storing such static data is so-called Hardware Pin Programming (HPP). FIG. 1 shows a system 100 using HPP. The system 100 contains three LRUs 102a, 102b, 102c. Each LRU is an identical piece of hardware, and each LRU contains a number of software configurations 104, one of which is executed upon start-up. The software configuration 104 which is executed depends on the location and intended function of the LRU 102a-c. 
Each LRU 102a-c has a number of pins 106, and each pin is connected to hardware which either indicates a binary “1” or a binary “0”. In this example a first one of the pins of the LRU 102a is connected to a reference voltage 108, a pull-up resistor 110, and an analogue to digital converter 112; and a second one of the pins of the LRU 102a is connected to the same hardware but in this case grounded at 114. So the voltage on the first pin will be high (indicating a binary “1”) and the voltage on the second pin will be low (indicating a binary “0”).
In this case, the hardware connected to the LRU 102a stores static data represented by the binary number 111000; the hardware connected to the LRU 102b stores static data represented by the binary number 101010; and the hardware connected to the LRU 102c stores static data represented by the binary number 001101.
In this case the static data is encoded by only six binary digits, but if a larger amount of static data is required then the number of pins, and associated hardware, must increase. Often the number of pins can exceed sixteen. This increases the weight and size of the system, which is a particular problem on an aircraft due to the limited space available, and the importance of minimising weight to maximise fuel efficiency.